package ru.kreda.webapp.client.menu;

import com.extjs.gxt.ui.client.data.BaseTreeModel;
import com.google.gwt.place.shared.Place;

/**
 * Элемент меню.
 */
public class MenuItem extends BaseTreeModel {
	public static final String PROP_TITLE = "title";
	public static final String PROP_PLACE = "place";

	/**
	 * Конструктор.
	 * 
	 * @param title
	 *            название элемента меню
	 */
	public MenuItem(String title) {
		setTitle(title);
	}

	/**
	 * Конструктор.
	 * 
	 * @param title
	 *            название элемента меню
	 * @param place
	 *            куда будет происходить навигация при выборе из меню
	 */
	public MenuItem(String title, Place place) {
		this(title);
		set(PROP_PLACE, place);
	}

	/**
	 * Устанавливает название элемента меню.
	 * 
	 * @param title
	 *            новое название
	 */
	public void setTitle(String title) {
		set(PROP_TITLE, title);
	}

	@Override
	public String toString() {
		return get(PROP_TITLE);
	}

	/**
	 * Возвращает {@link Place}, куда будет происходить навигация при выборе из
	 * меню
	 */
	public Place getPlace() {
		return get(PROP_PLACE);
	}

}
